
const orderService = require('../../services/order');
Page({

    /**
     * 页面的初始数据
     */
    data: {
        id: 0,
        o: {},
        items: [],
        showComplaintDialog: false,
        complaintContent: '',
        submittingComplaint: false
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.setData({
            id: options.order_id
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        this.loadOrder();
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        this.loadOrder();
        wx.stopPullDownRefresh();
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },

    async loadOrder() {
        const result = await orderService.one(this.data.id);
        if (result.success) {
            this.setData({
                o: result.data.order,
                items: result.data.items,
            });
        }
    },

    /**
     * 取消订单
     */
    cancelOrder() {
        wx.showModal({
            title: '确认取消',
            content: '确定要取消这个订单吗？',
            success: (res) => {
                if (res.confirm) {
                    // TODO: 调用取消订单API
                    wx.showToast({
                        title: '订单已取消',
                        icon: 'success'
                    });
                    this.loadOrder();
                }
            }
        });
    },

    /**
     * 支付订单
     */
    payOrder() {
        // TODO: 调用支付API
        wx.showToast({
            title: '正在跳转支付...',
            icon: 'loading'
        });
    },

    /**
     * 确认收货
     */
    confirmReceive() {
        wx.showModal({
            title: '确认收货',
            content: '确认已收到商品吗？',
            success: (res) => {
                if (res.confirm) {
                    // TODO: 调用确认收货API
                    wx.showToast({
                        title: '确认收货成功',
                        icon: 'success'
                    });
                    this.loadOrder();
                }
            }
        });
    },

    /**
     * 评价订单
     */
    writeReview() {
        wx.navigateTo({
            url: `/pages/review/write?order_id=${this.data.id}`
        });
    },

    /**
     * 再次购买
     */
    rebuy() {
        // 将商品添加到购物车或直接跳转到商品详情
        if (this.data.items && this.data.items.length > 0) {
            const firstItem = this.data.items[0];
            wx.navigateTo({
                url: `/store/pages/goods/detail?id=${firstItem.goods_id}`
            });
        }
    },


    handleComplaint() {
        this.setData({
            showComplaintDialog: true,
            complaintContent: ''
        });
    },
    async submitComplaint() {
        if (!this.data.complaintContent.trim()) {
            wx.showToast({ title: '请输入投诉内容', icon: 'none' });
            return;
        }
        this.setData({ submittingComplaint: true });
        const res = await orderService.complaint(this.data.id, this.data.complaintContent);
        this.setData({ submittingComplaint: false });
        if (res.success) {
            wx.showToast({ title: '投诉提交成功', icon: 'success' });
            this.setData({ showComplaintDialog: false });
        } else {
            wx.showToast({ title: res.message, icon: 'none' });
        }
    },
    onComplaintDialogClose() {
        this.setData({ showComplaintDialog: false });
    },
})